package com.briup.jd2511.jd2511_product_source.service;

import com.briup.jd2511.jd2511_product_source.exception.ServiceException;
import com.briup.jd2511.jd2511_product_source.pojo.ManagerFenceHouse;
import com.briup.jd2511.jd2511_product_source.pojo.ext.ManagerFenceHouseExt;
import com.briup.jd2511.jd2511_product_source.result.Result;
import com.github.pagehelper.PageInfo;

import java.util.List;


public interface FenceHouseService {
    /**
     * 根据条件分页查询
     * @param fhName 栏舍名称
     * @param pageName 页码
     * @param pageSize 每页数量
     * @return com.github.pagehelper.PageInfo
     * @throws ServiceException
     */
    PageInfo<ManagerFenceHouse> getAllFhNameByPage (String fhName, Integer pageName, Integer pageSize) throws ServiceException;

    /**
     * 根据栏舍id查询详情
     * @param fhId 栏舍id
     * @return com.briup.jd2511.jd2511_product_source.pojo.ext.ManagerFenceHouseExt
     * @throws ServiceException
     */
    ManagerFenceHouseExt getDetailByFhId(String fhId) throws ServiceException;

    /**
     * 修改或者新增
     * @param house 栏舍信息对象
     * 注意：如果id存在则为修改，不存在则为新增
     */
    Result saveOrUpdate(ManagerFenceHouse house);

    /**
     * 根据id删除
     * @param fhId 栏舍id
     * @return com.briup.jd2511.jd2511_product_source.result.Result
     */
    void deleteById(String fhId) throws ServiceException;

    /**
     * 批量删除
     * @param fhIds 栏舍id数组
     * @return com.briup.jd2511.jd2511_product_source.result.Result
     */
    void deleteByIdAll(List<String> fhIds) throws ServiceException;

    /**
     * 查询所有栏舍信息（单表）
     * @return java.util.List<com.briup.jd2511.jd2511_product_source.pojo.ManagerFenceHouse>
     */
    List<ManagerFenceHouse> queryAll();
}
